2005-07-18 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkcombobox.c (gtk_combo_box_set_focus_on_click): Propagate
+ the focus-on-click value to the button. (#310543, Christian Persch)
+
* gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a note
about the need to handle expose events. We really need a chapter
on the GTK+ drawing model that we can refer to here... (#310765,
break;
case PROP_FOCUS_ON_CLICK:
- combo_box->priv->focus_on_click = g_value_get_boolean (value);
+ gtk_combo_box_set_focus_on_click (combo_box,
+ g_value_get_boolean (value));
break;
default:
if (combo_box->priv->cell_view)
{
combo_box->priv->button = gtk_toggle_button_new ();
+ gtk_button_set_focus_on_click (GTK_BUTTON (combo_box->priv->button),
+ combo_box->priv->focus_on_click);
g_signal_connect (combo_box->priv->button, "toggled",
G_CALLBACK (gtk_combo_box_button_toggled), combo_box);
else
{
combo_box->priv->button = gtk_toggle_button_new ();
+ gtk_button_set_focus_on_click (GTK_BUTTON (combo_box->priv->button),
+ combo_box->priv->focus_on_click);
+
g_signal_connect (combo_box->priv->button, "toggled",
G_CALLBACK (gtk_combo_box_button_toggled), combo_box);
g_signal_connect_after (combo_box, "key_press_event",
* Since: 2.6
**/
void
-gtk_combo_box_set_focus_on_click (GtkComboBox *combo,
+gtk_combo_box_set_focus_on_click (GtkComboBox *combo_box,
gboolean focus_on_click)
{
- g_return_if_fail (GTK_IS_COMBO_BOX (combo));
+ g_return_if_fail (GTK_IS_COMBO_BOX (combo_box));
focus_on_click = focus_on_click != FALSE;
- if (combo->priv->focus_on_click != focus_on_click)
+ if (combo_box->priv->focus_on_click != focus_on_click)
{
- combo->priv->focus_on_click = focus_on_click;
+ combo_box->priv->focus_on_click = focus_on_click;
+
+ if (combo_box->priv->button)
+ gtk_button_set_focus_on_click (GTK_BUTTON (combo_box->priv->button),
+ focus_on_click);
- g_object_notify (G_OBJECT (combo), "focus-on-click");
+ g_object_notify (G_OBJECT (combo_box), "focus-on-click");
}
}
* Since: 2.6
**/
gboolean
-gtk_combo_box_get_focus_on_click (GtkComboBox *combo)
+gtk_combo_box_get_focus_on_click (GtkComboBox *combo_box)
{
- g_return_val_if_fail (GTK_IS_COMBO_BOX (combo), FALSE);
+ g_return_val_if_fail (GTK_IS_COMBO_BOX (combo_box), FALSE);
- return combo->priv->focus_on_click;
+ return combo_box->priv->focus_on_click;
}